package com.migu.spms.dao.inf;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.migu.spms.dao.entity.BaseLineCriteria;
import com.migu.spms.dao.entity.BaseLineDO;
import com.migu.spms.dao.entity.FunctionRequireCriteria;
import com.migu.spms.dao.entity.FunctionRequireDO;
import com.migu.spms.dao.entity.RequireAttachmentCriteria;
import com.migu.spms.dao.entity.RequireUserCriteria;

@Repository("IBaseLineDO")
public interface IBaseLineDO {
	
	/**查詢所有未打基線版本*/
	List<BaseLineDO> getAllUnBasedLine(BaseLineCriteria criteria);
	
	/**查询所有的需求*/
	List<FunctionRequireDO> getAllUnFunctionRequire(BaseLineCriteria criteria);
	
	/**查询所有需求的数量*/
	int getAllUnFunctionRequireCount(BaseLineCriteria criteria);
	
	void deleteUserByCriteria(RequireUserCriteria criteria);
	
	void deleteAttachmentByCriteria(RequireAttachmentCriteria criteria);
	
	
	/**修改基线需求后的需求状态*/
	void updateRequirementBaseLine(BaseLineCriteria criteria);
	
	/**
	* @Title: selectAllBaseLined
	* @Description: 查询已经打基线的版本号
	* @param @return  
	* @return List<String>
	* @author le
	* @throws
	*/ 
	List<String> selectAllBaseLined(Long projectId);
	
	String queryMaxBaseLine(BaseLineCriteria criteria);

	List<FunctionRequireDO> getAllUnFunctionRequirement(BaseLineCriteria criteria);
}
